//
import request from "@/utils/request";

const FAMILY_BASE_URL = "/api/v1/family-user";

// 类型定义
interface QueryParams {
  pageNum?: number;
  pageSize?: number;
  [key: string]: any;
}

interface MemberFormData {
  [key: string]: any;
}

const FamilyUserAPI = {
  /**
   * 修改家族成员加入
   * @param {string} id 家族ID
   * @param {Object} data 家族表单数据
   * @returns {Promise} 请求结果
   */
  update(
    id: any,
    data: { status: number; reason: string; auditType: string; familyData: null }
  ): Promise<any> {
    return request({
      url: `${FAMILY_BASE_URL}/audit/${id}`,
      method: "PUT",
      data: data,
    });
  },
  /**
   * 获取成员审核列表
   */
  getProcess(params: any) {
    return request({
      url: `/api/v1/family-user/page`,
      method: "GET",
      data: {
        pageNum: params.pageNum,
        pageSize: params.pageSize,
        familyId: params.familyId,
      },
    });
  },
  // 获取申请入谱人员信息
  // id 为personId
  getApplyInfo(id: string) {
    return request({
      url: `${FAMILY_BASE_URL}/detail/${id}`,
      method: "POST",
    });
  },
  /**
   * 会员接口/会员分页列表
   * 获取成员分页列表
   * @param {QueryParams} queryParams 查询参数
   * @returns {Promise} 成员分页列表
   */
  getMembersPage(queryParams: QueryParams) {
    return request({
      url: `/api/v1/members/page`,
      method: "GET",
      data: queryParams,
    });
  },

  /**
   * 修改家族成员信息
   * @param {string} id 家族ID
   * @param {MemberFormData} data 家族表单数据
   * @returns {Promise} 请求结果
   */
  edit(id: string, data: MemberFormData) {
    return request({
      url: `/api/v1/members/${id}`,
      method: "PUT",
      data: data,
    });
  },

  /**
   * 获取家族用户加入分页列表
   * @param {QueryParams} queryParams 查询参数
   * @returns {Promise} 用户分页列表
   */
  getPage(queryParams: QueryParams) {
    return request({
      url: `${FAMILY_BASE_URL}/page`,
      method: "GET",
      data: queryParams,
    });
  },

  // /**
  //  * 修改家族成员加入
  //  * @param {string} id 家族ID
  //  * @param {MemberFormData} data 家族表单数据
  //  * @returns {Promise} 请求结果
  //  */
  // update(id: string, data: MemberFormData) {
  //   return request({
  //     url: `${FAMILY_BASE_URL}/audit/${id}`,
  //     method: "PUT",
  //     data: data,
  //   });
  // },

  /**
   * 删除家族成员加入
   * @param {string} id 家族ID
   * @returns {Promise} 请求结果
   */
  deleteByIds(id: string) {
    return request({
      url: `${FAMILY_BASE_URL}/${id}`,
      method: "DELETE",
    });
  },
};

export default FamilyUserAPI;
